﻿<html DIR="LTR" xmlns:tool="http://www.microsoft.com/tooltip" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
  <head>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8" />
    <META NAME="save" CONTENT="history" />
    <title>Usando sequências de escape do SQL</title>
    
    <link rel="stylesheet" type="text/css" href="../local/Classic.css">
      
    </link>
    
    <script src="../local/script.js">
      
    </script><script src="../local/script_main.js">&amp;nbsp;</script>
  </head>
  <body>
    <!--Topic built:04/01/2010 05:03:30-->

    
    
    
    
    
    
    
    
    
    <div id="header">
      <table width="100%" id="topTable"><tr>
          <td align="left">
            <span id="headerBold">Usando sequências de escape do SQL</span>
          </td>
          <td align="right">
            
          </td>
        </tr></table>
      
      
      
    </div>
    <div id="mainSection">
      
        
        
    <font color="DarkGray">
      
    </font>
    <p />
    
    <p />
  
        <div id="introductionSection" class="section">
    <p>O Microsoft SQL Server JDBC Driver dá suporte ao uso de sequências de escape do SQL, conforme definido pela API JDBC. As sequências de escape são usadas em uma instrução SQL para informar ao driver que a parte de escape da cadeia de caracteres SQL deve ser tratada de forma diferente. Quando o driver JDBC processa a parte de escape de uma cadeia de caracteres SQL, ele converte essa parte da cadeia de caracteres em código SQL que o SQL Server entende. </p>
    <p>Há cinco tipos de sequências de escape requeridas pela API JDBC e todos têm o suporte do driver JDBC:</p>
    <ul><li>
        Literais do curinga LIKE<br />
      </li><li>
        Manipulação de função<br />
      </li><li>
        Literais de data e hora<br />
      </li><li>
        Chamadas de procedimento armazenado<br />
      </li><li>
        Junções externas<br />
      </li></ul>
    <p>A sintaxe da sequência de escape usada pelo driver JDBC é a seguinte: </p>
    <p>
      <code>{keyword ...parameters...}</code>
    </p>
    <div style="margin: .5em 1.5em .5em 1.5em"><b>Observação: </b>
      O processamento de escape do SQL sempre está ativado para o driver JDBC.<p />
    </div>
    <p>As seções a seguir descrevem os cinco tipos de sequências de escape e como elas têm o suporte do driver JDBC.</p>
  </div><h1 class="heading">Literais do curinga LIKE</h1><div id="sectionSection0" class="section"><content xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5">
      <p xmlns="">O driver JDBC dá suporte à sintaxe <code>{escape 'escape character'}</code> para uso de curingas da cláusula LIKE como literais. Por exemplo, o código a seguir retornará valores para col3, onde o valor de col2 começa literalmente com um sublinhado (e não seu uso de curinga).</p>
      <div class="sampleCode" xmlns=""><span codeLanguage="other"><pre>ResultSet rst = stmt.executeQuery("SELECT col3 FROM test1 WHERE col2 
LIKE '\\_%' {escape '\\'}");</pre></span></div>
      <div style="margin: .5em 1.5em .5em 1.5em" xmlns=""><b>Observação: </b>
        A sequência de escape deve estar no fim da instrução SQL. Para várias instruções SQL em uma cadeia de caracteres de comando, a sequência de escape precisa estar no fim de cada instrução SQL pertinente.<p />
      </div>
    </content></div><h1 class="heading">Manipulação de função</h1><div id="sectionSection1" class="section"><content xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5">
      <p xmlns="">O driver JDBC dá suporte às sequências de escape de função em instruções SQL com a seguinte sintaxe:</p>
      <div class="sampleCode" xmlns=""><span codeLanguage="other"><pre>{fn functionName}</pre></span></div>
      <p xmlns="">onde <code>functionName</code> é uma função que tem o suporte do driver JDBC. Por exemplo:</p>
      <div class="sampleCode" xmlns=""><span codeLanguage="other"><pre>SELECT {fn UCASE(Name)} FROM Employee</pre></span></div>
      <p xmlns="">A tabela a seguir lista as várias funções que têm o suporte do driver JDBC ao usar uma sequência de escape de função:</p>
      <table width="100%" cellspacing="0" cellpadding="0" border="1" style="background-color: #CCCCCC;" xmlns=""><tr>
            <th>
              Funções de cadeia de caracteres
            </th>
            <th>
              Funções numéricas
            </th>
            <th>
              Funções de data e hora
            </th>
            <th>
              Funções de sistema
            </th>
          </tr><tr>
          <td>
            <p>ASCII</p>
            <p>CHAR</p>
            <p>CONCAT</p>
            <p>DIFFERENCE</p>
            <p>INSERT</p>
            <p>LCASE</p>
            <p>LEFT</p>
            <p>LENGTH</p>
            <p>LOCATE</p>
            <p>LTRIM</p>
            <p>REPEAT</p>
            <p>REPLACE</p>
            <p>RIGHT</p>
            <p>RTRIM</p>
            <p>SOUNDEX</p>
            <p>SPACE</p>
            <p>SUBSTRING</p>
            <p>UCASE</p>
          </td>
          <td>
            <p>ABS</p>
            <p>ACOS</p>
            <p>ASIN</p>
            <p>ATAN</p>
            <p>ATAN2</p>
            <p>CEILING</p>
            <p>COS</p>
            <p>COT</p>
            <p>DEGREES</p>
            <p>EXP</p>
            <p>FLOOR</p>
            <p>LOG</p>
            <p>LOG10</p>
            <p>MOD</p>
            <p>PI</p>
            <p>POWER</p>
            <p>RADIANS</p>
            <p>RAND</p>
            <p>ROUND</p>
            <p>SIGN</p>
            <p>SIN</p>
            <p>SQRT</p>
            <p>TAN</p>
            <p>TRUNCATE</p>
          </td>
          <td>
            <p>CURDATE</p>
            <p>CURTIME</p>
            <p>DAYNAME</p>
            <p>DAYOFMONTH</p>
            <p>DAYOFWEEK</p>
            <p>DAYOFYEAR</p>
            <p>EXTRACT</p>
            <p>HOUR</p>
            <p>MINUTE</p>
            <p>MONTH</p>
            <p>MONTHNAME</p>
            <p>NOW</p>
            <p>QUARTER</p>
            <p>SECOND</p>
            <p>TIMESTAMPADD</p>
            <p>TIMESTAMPDIFF</p>
            <p>WEEK</p>
            <p>YEAR</p>
          </td>
          <td>
            <p>DATABASE</p>
            <p>IFNULL</p>
            <p>USER</p>
          </td>
        </tr></table>
      <div style="margin: .5em 1.5em .5em 1.5em" xmlns=""><b>Observação: </b>
        Se você tentar usar uma função que não tenha o suporte do banco de dados, ocorrerá um erro.<p />
      </div>
    </content></div><h1 class="heading">Literais de data e hora</h1><div id="sectionSection2" class="section"><content xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5">
      <p xmlns="">A sintaxe de escape para data, hora e literais de carimbo de data/hora é a seguinte: </p>
      <div class="sampleCode" xmlns=""><span codeLanguage="other"><pre>{literal-type 'value'}</pre></span></div>
      <p xmlns="">onde <code>literal-type</code> é um destes:</p>
      <table width="100%" cellspacing="0" cellpadding="0" border="1" style="background-color: #CCCCCC;" xmlns=""><tr>
            <th>
              Tipo de literal
            </th>
            <th>
              Descrição
            </th>
            <th>
              Formato do valor
            </th>
          </tr><tr>
          <td>
            <p>d</p>
          </td>
          <td>
            <p>Data</p>
          </td>
          <td>
            <p>aaaa-mm-dd</p>
          </td>
        </tr><tr>
          <td>
            <p>t</p>
          </td>
          <td>
            <p>Hora</p>
          </td>
          <td>
            <p>hh:mm:ss [1]</p>
          </td>
        </tr><tr>
          <td>
            <p>ts</p>
          </td>
          <td>
            <p>Carimbo de data/hora</p>
          </td>
          <td>
            <p>aaaa-mm-dd hh:mm:ss[.f...]</p>
          </td>
        </tr></table>
      <p xmlns="">Por exemplo:</p>
      <div class="sampleCode" xmlns=""><span codeLanguage="other"><pre>UPDATE Orders SET OpenDate={d '2005-01-31'} 
WHERE OrderID=1025</pre></span></div>
    </content></div><h1 class="heading">Chamadas de procedimento armazenado</h1><div id="sectionSection3" class="section"><content xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5">
      <p xmlns="">O driver JDBC dá suporte às sintaxes de escape <code>{? = call proc_name(?,...)}</code> e <code>{call proc_name(?,...)}</code> para chamadas de procedimento armazenado, dependendo da necessidade de processar um parâmetro de retorno. </p>
      <p xmlns="">Um procedimento é um objeto executável armazenado no banco de dados. Em geral, é uma ou mais instruções SQL que foram pré-compiladas. A sintaxe da sequência de escape para chamar um procedimento armazenado é a seguinte: </p>
      <div class="sampleCode" xmlns=""><span codeLanguage="other"><pre>{[?=]call procedure-name[([parameter][,[parameter]]...)]}</pre></span></div>
      <p xmlns="">onde <code>procedure-name</code> especifica o nome de um procedimento armazenado e <code>parameter</code> especifica um parâmetro de procedimento armazenado.</p>
      <p xmlns="">Para obter mais informações sobre como usar a sequência de escape <code>call</code> com procedimentos armazenados, consulte <a href="0041f9e1-09b6-4487-b052-afd636c8e89a.htm">Usando instruções com procedimentos armazenados</a>.</p>
    </content></div><h1 class="heading">Junções externas</h1><div id="sectionSection4" class="section"><content xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5">
      <p xmlns="">O driver JDBC dá suporte à sintaxe de junção externa esquerda, direita e completa do SQL92. A sequência de escape de junções externas é a seguinte: </p>
      <div class="sampleCode" xmlns=""><span codeLanguage="other"><pre>{oj outer-join}</pre></span></div>
      <p xmlns="">onde outer-join é:</p>
      <div class="sampleCode" xmlns=""><span codeLanguage="other"><pre>table-reference {LEFT | RIGHT | FULL} OUTER JOIN  
{table-reference | outer-join} ON search-condition</pre></span></div>
      <p xmlns="">onde <code>table-reference</code> é um nome de tabela e <code>search-condition</code> é a condição de junção que você deseja usar para as tabelas.</p>
      <p xmlns="">Por exemplo:</p>
      <div class="sampleCode" xmlns=""><span codeLanguage="other"><pre>SELECT Customers.CustID, Customers.Name, Orders.OrderID, Orders.Status 
   FROM {oj Customers LEFT OUTER JOIN 
      Orders ON Customers.CustID=Orders.CustID} 
   WHERE Orders.Status='OPEN'</pre></span></div>
      <p xmlns="">As seguintes sequências de escape de junção externa têm o suporte do driver JDBC:</p>
      <ul xmlns=""><li>
          Junções externas esquerdas<br />
        </li><li>
          Junções externas direitas<br />
        </li><li>
          Junções externas completas<br />
        </li><li>
          Junções externas aninhadas<br />
        </li></ul>
    </content></div><span id="seeAlsoSpan"><h1 class="heading">Consulte também</h1></span><div id="seeAlsoSection" class="section" name="collapseableSection"><a href="7f8f3e8f-841e-4449-9154-b5366870121f.htm">Usando instruções com o JDBC Driver</a><br /><br /></div><!--[if gte IE 5]>
			<tool:tip element="seeAlsoToolTip" avoidmouse="false"/><tool:tip element="languageFilterToolTip" avoidmouse="false"/><tool:tip element="roleInfoSpan" avoidmouse="false"/>
		<![endif]-->
      <div id="footer" class="section">
        
		<hr />
		
		<span id="fb" class="feedbackcss">
			
			
		</span>
		
		<a href="9bad553b-9e70-4696-8499-2e35f772a1e0.htm">
			
			© 2010 Microsoft Corporation. Todos os direitos reservados.
		</a>
 	
	
      </div>
    </div>
  </body>
</html>